﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Assist;
using Autodesk.Revit.DB;
using YArchitech.Controls;
using YArchitech.DataModel;
using YArchitech.LIB;
using YArchitech.LIB.YJKControls;
using YArchitech.MEP;
using YArchitech.Revit;
using HYFamilyLibDataManager;

namespace YArchitech.HVAC
{
	public partial class DuctEquipmentCoilForms : System.Windows.Forms.Form
	{
		public DuctEquipmentCoilForms()
		{
			this.InitializeComponent();
			new YJKProcessTools().ShowInTaskbarChange(this);
		}

		public DuctEquipmentCoilForms(List<ListItem> lstDuct, Autodesk.Revit.DB.Document doc, string categoryName)
		{
			this.InitializeComponent();
			new YJKProcessTools().ShowInTaskbarChange(this);
			base.Icon = Resource.YArchitechIcon;
			this.doc = doc;
			this.categoryName = categoryName;
			this.sfdr = new SpaceFamilyDataReader();
			this.beLoad = true;
			this.initDataGrid();
			this.initParameterSetting();
			this.InitialCurrentProject();
		}

		private void BindingFactoryComoboxSource(string selectedFactoryText, string selectedStructText, string selectedInstallText, string selectedConnText)
		{
			int num = 0;
			this.cmbFactory.Items.Clear();
			for (int i = 0; i < this.allNodes.Count; i++)
			{
				string text = this.allNodes[i].Text;
				if (selectedFactoryText == text)
				{
					num = i;
				}
				if (!string.IsNullOrEmpty(text) && text != "空")
				{
					this.cmbFactory.Items.Add(text);
				}
			}
			TreeNode treeNode = this.allNodes[num];
			int num2 = 0;
			this.cmbStructureType.Items.Clear();
			for (int j = 0; j < treeNode.Nodes.Count; j++)
			{
				string text = treeNode.Nodes[j].Text;
				if (selectedStructText == text)
				{
					num2 = j;
				}
				if (!string.IsNullOrEmpty(text) && text != "空")
				{
					this.cmbStructureType.Items.Add(text);
				}
			}
			TreeNode treeNode2 = treeNode.Nodes[num2];
			int num3 = 0;
			this.cmbInstallType.Items.Clear();
			for (int k = 0; k < treeNode2.Nodes.Count; k++)
			{
				string text = treeNode2.Nodes[k].Text;
				if (selectedInstallText == text)
				{
					num3 = k;
				}
				if (!string.IsNullOrEmpty(text) && text != "空")
				{
					this.cmbInstallType.Items.Add(text);
				}
			}
			TreeNode treeNode3 = treeNode2.Nodes[num3];
			int selectedIndex = 0;
			this.cmbConnectType.Items.Clear();
			for (int l = 0; l < treeNode3.Nodes.Count; l++)
			{
				string text = treeNode3.Nodes[l].Text;
				if (selectedConnText == text)
				{
					selectedIndex = l;
				}
				if (!string.IsNullOrEmpty(text) && text != "空")
				{
					this.cmbConnectType.Items.Add(text);
				}
			}
			this.beLoad = true;
			this.cmbFactory.SelectedIndex = num;
			this.cmbStructureType.SelectedIndex = num2;
			this.cmbInstallType.SelectedIndex = num3;
			this.cmbConnectType.SelectedIndex = selectedIndex;
			this.beLoad = false;
		}

		private void initParameterSetting()
		{
			EquipmentCoilParam equipmentCoilText = this.userSetting.GetEquipmentCoilText();
			this.tabControl1.SelectedIndex = (string.IsNullOrEmpty(this.userSetting.ReadValue("initialTabPage", "PageIndex")) ? 0 : int.Parse(this.userSetting.ReadValue("initialTabPage", "PageIndex")));
			try
			{
				string factory = equipmentCoilText.Factory;
				string structType = equipmentCoilText.StructType;
				string installType = equipmentCoilText.InstallType;
				string connectType = equipmentCoilText.ConnectType;
				this.BindingFactoryComoboxSource(factory, structType, installType, connectType);
				if (factory != "")
				{
					this.SelectedChanged(factory, structType, installType, connectType);
				}
				if (this.cmbFactory.Items.Contains(equipmentCoilText.Factory))
				{
					factory = equipmentCoilText.Factory;
				}
				if (this.cmbStructureType.Items.Contains(equipmentCoilText.StructType))
				{
					structType = equipmentCoilText.StructType;
				}
				if (this.cmbInstallType.Items.Contains(equipmentCoilText.InstallType))
				{
					installType = equipmentCoilText.InstallType;
				}
				if (this.cmbConnectType.Items.Contains(equipmentCoilText.ConnectType))
				{
					connectType = equipmentCoilText.ConnectType;
				}
				this.hyTbOffSet.Text = equipmentCoilText.OffSet.ToString();
				this.txtOffSet.Text = equipmentCoilText.OffSet.ToString();
				this.cbTag.Checked = equipmentCoilText.Tag;
				this.dgvEquipmentInfo.CurrentCell = this.dgvEquipmentInfo.Rows[int.Parse(equipmentCoilText.Name) - 1].Cells[0];
			}
			catch (Exception)
			{
			}
		}

		private void UserSettingWrite()
		{
			try
			{
				EquipmentCoilParam equipmentCoilParam = new EquipmentCoilParam();
				double offSet = (this.tabControl1.SelectedIndex == 0) ? Convert.ToDouble(this.hyTbOffSet.Text) : Convert.ToDouble(this.txtOffSet.Text);
				equipmentCoilParam.OffSet = offSet;
				equipmentCoilParam.Tag = this.cbTag.Checked;
				equipmentCoilParam.StructType = this.cmbStructureType.SelectedItem.ToString();
				equipmentCoilParam.InstallType = this.cmbInstallType.SelectedItem.ToString();
				equipmentCoilParam.ConnectType = this.cmbConnectType.SelectedItem.ToString();
				equipmentCoilParam.Factory = this.cmbFactory.SelectedItem.ToString();
				if (this.dgvEquipmentInfo.SelectedRows != null && this.dgvEquipmentInfo.SelectedRows.Count > 0)
				{
					equipmentCoilParam.Name = this.dgvEquipmentInfo.SelectedRows[0].Cells[0].Value.ToString().Trim();
				}
				this.userSetting.WriteEquipmentCoilText(equipmentCoilParam);
				this.userSetting.WriteValue("initialTabPage", "PageIndex", this.tabControl1.SelectedIndex.ToString());
			}
			catch (Exception)
			{
			}
		}

		private void GetDbFamilyParamList()
		{
			this.GetFamilyParam();
		}

		private bool BeContaintNodeText(TreeNodeCollection nodes, string nodeName)
		{
			bool result = false;
			IEnumerator enumerator = nodes.GetEnumerator();
			{
				while (enumerator.MoveNext())
				{
					if (((TreeNode)enumerator.Current).Text.Equals(nodeName))
					{
						result = true;
						break;
					}
				}
			}
			return result;
		}

		private List<TreeNode> GetTreeNodesByCoilInfo(List<EquipmentCoilParameter> allInfo)
		{
			List<TreeNode> list = new List<TreeNode>();
			if (allInfo == null || allInfo.Count < 1)
			{
				return list;
			}
			IEnumerable<IGrouping<string, EquipmentCoilParameter>> enumerable = from ecp in allInfo
			group ecp by ecp.Factory;
			TreeNode treeNode = null;
			foreach (IGrouping<string, EquipmentCoilParameter> grouping in enumerable)
			{
				treeNode = new TreeNode(grouping.Key);
				list.Add(treeNode);
				IEnumerable<IGrouping<string, EquipmentCoilParameter>> enumerable2 = from ecp in grouping
				group ecp by ecp.StructType;
				if (enumerable2.Count<IGrouping<string, EquipmentCoilParameter>>() > 0)
				{
					TreeNode treeNode2 = null;
					TreeNode treeNode3 = new TreeNode("全部");
					treeNode.Nodes.Add(treeNode3);
					foreach (IGrouping<string, EquipmentCoilParameter> grouping2 in enumerable2)
					{
						treeNode2 = new TreeNode(grouping2.Key);
						treeNode.Nodes.Add(treeNode2);
						IEnumerable<IGrouping<string, EquipmentCoilParameter>> enumerable3 = from ecp in grouping2
						group ecp by ecp.InstallType;
						if (enumerable3.Count<IGrouping<string, EquipmentCoilParameter>>() > 0)
						{
							TreeNode treeNode4 = new TreeNode("全部");
							if (!this.BeContaintNodeText(treeNode3.Nodes, "全部"))
							{
								treeNode3.Nodes.Add(treeNode4);
							}
							treeNode2.Nodes.Add(treeNode4);
							foreach (IGrouping<string, EquipmentCoilParameter> grouping3 in enumerable3)
							{
								TreeNode treeNode5 = new TreeNode(grouping3.Key);
								if (!this.BeContaintNodeText(treeNode3.Nodes, grouping3.Key))
								{
									treeNode3.Nodes.Add(treeNode5);
								}
								treeNode2.Nodes.Add(treeNode5);
								IEnumerable<IGrouping<string, EquipmentCoilParameter>> enumerable4 = from ecp in grouping3.ToList<EquipmentCoilParameter>()
								group ecp by ecp.ConnectType;
								if (enumerable4.Count<IGrouping<string, EquipmentCoilParameter>>() > 0)
								{
									TreeNode node = new TreeNode("全部");
									if (!this.BeContaintNodeText(treeNode4.Nodes, "全部"))
									{
										treeNode4.Nodes.Add(node);
									}
									treeNode5.Nodes.Add(node);
									foreach (IGrouping<string, EquipmentCoilParameter> grouping4 in enumerable4)
									{
										TreeNode node2 = new TreeNode(grouping4.Key);
										if (!this.BeContaintNodeText(treeNode4.Nodes, grouping4.Key))
										{
											treeNode4.Nodes.Add(node2);
										}
										treeNode5.Nodes.Add(node2);
									}
								}
							}
						}
					}
				}
			}
			IEnumerable<IGrouping<string, EquipmentCoilParameter>> source = from ecp in allInfo
			group ecp by ecp.Factory;
			IEnumerable<IGrouping<string, EquipmentCoilParameter>> enumerable5 = from ecp in allInfo
			group ecp by ecp.StructType;
			IEnumerable<IGrouping<string, EquipmentCoilParameter>> enumerable6 = from ecp in allInfo
			group ecp by ecp.InstallType;
			IEnumerable<IGrouping<string, EquipmentCoilParameter>> enumerable7 = from ecp in allInfo
			group ecp by ecp.ConnectType;
			TreeNode treeNode6 = null;
			if (source.Count<IGrouping<string, EquipmentCoilParameter>>() > 0)
			{
				treeNode6 = new TreeNode("全部");
				list.Insert(0, treeNode6);
			}
			if (treeNode6 != null && enumerable5.Count<IGrouping<string, EquipmentCoilParameter>>() > 0)
			{
				TreeNode node3 = new TreeNode("全部");
				treeNode6.Nodes.Add(node3);
				foreach (IGrouping<string, EquipmentCoilParameter> grouping5 in enumerable5)
				{
					node3 = new TreeNode(grouping5.Key);
					treeNode6.Nodes.Add(node3);
				}
				foreach (object obj in treeNode6.Nodes)
				{
					TreeNode treeNode7 = (TreeNode)obj;
					if (enumerable6.Count<IGrouping<string, EquipmentCoilParameter>>() > 0)
					{
						TreeNode node4 = new TreeNode("全部");
						treeNode7.Nodes.Add(node4);
						foreach (IGrouping<string, EquipmentCoilParameter> grouping6 in enumerable6)
						{
							node4 = new TreeNode(grouping6.Key);
							treeNode7.Nodes.Add(node4);
						}
						foreach (object obj2 in treeNode7.Nodes)
						{
							TreeNode treeNode8 = (TreeNode)obj2;
							if (enumerable7.Count<IGrouping<string, EquipmentCoilParameter>>() > 0)
							{
								TreeNode node5 = new TreeNode("全部");
								treeNode8.Nodes.Add(node5);
								foreach (IGrouping<string, EquipmentCoilParameter> grouping7 in enumerable7)
								{
									node5 = new TreeNode(grouping7.Key);
									treeNode8.Nodes.Add(node5);
								}
							}
						}
					}
				}
			}
			return list;
		}

		private void GetFamilyParam()
		{
			this.ecpInfoList = this.sfdr.GetAllEquipmentCoilInfo(this.doc);
			this.allNodes = this.GetTreeNodesByCoilInfo(this.ecpInfoList);
			int num = 1;
			foreach (EquipmentCoilParameter equipmentCoilParameter in this.ecpInfoList)
			{
				EquipmentCoilParameter equipmentCoilParameter2 = new EquipmentCoilParameter();
				equipmentCoilParameter2.Id = num.ToString();
				equipmentCoilParameter2.Name = equipmentCoilParameter.Name;
				equipmentCoilParameter2.FamilyId = equipmentCoilParameter.FamilyId;
				equipmentCoilParameter2.Family = equipmentCoilParameter.Family;
				equipmentCoilParameter2.Image = equipmentCoilParameter.Image;
				equipmentCoilParameter2.CoolPower = equipmentCoilParameter.CoolPower;
				equipmentCoilParameter2.HotPower = equipmentCoilParameter.HotPower;
				equipmentCoilParameter2.Flow = equipmentCoilParameter.Flow;
				equipmentCoilParameter2.StructType = equipmentCoilParameter.StructType;
				equipmentCoilParameter2.Factory = equipmentCoilParameter.Factory;
				equipmentCoilParameter2.InstallType = equipmentCoilParameter.InstallType;
				equipmentCoilParameter2.ConnectType = equipmentCoilParameter.ConnectType;
				num++;
				this.equipmentCoil.Add(equipmentCoilParameter2);
			}
		}

		private void initDataGrid()
		{
			this.GetDbFamilyParamList();
			this.DataGridViewBand(this.equipmentCoil);
		}

		private void cmbInstallType_SelectedIndexChanged(object sender, EventArgs e)
		{
			string strFactory = "";
			string text = this.cmbInstallType.SelectedItem.ToString().Trim();
			string structTypeSelectText = "";
			string connectTypeSelectText = "";
			if (this.cmbFactory.SelectedItem != null)
			{
				strFactory = this.cmbFactory.SelectedItem.ToString().Trim();
			}
			if (this.cmbStructureType.SelectedItem != null)
			{
				structTypeSelectText = this.cmbStructureType.SelectedItem.ToString().Trim();
			}
			if (this.cmbConnectType.SelectedItem != null)
			{
				connectTypeSelectText = this.cmbConnectType.SelectedItem.ToString().Trim();
			}
			if (text != "")
			{
				this.SelectedChanged(strFactory, structTypeSelectText, text, connectTypeSelectText);
			}
		}

		private void DataGridViewBand(List<EquipmentCoilParameter> equipmentCoilTrans)
		{
			this.dgvEquipmentInfo.DataSource = equipmentCoilTrans.ToList<EquipmentCoilParameter>();
			this.dgvEquipmentInfo.Columns["Id"].Width = 55;
			this.dgvEquipmentInfo.Columns["Name"].Width = 100;
			this.dgvEquipmentInfo.Columns["Flow"].Width = 105;
			this.dgvEquipmentInfo.Columns["CoolPower"].Width = 95;
			this.dgvEquipmentInfo.Columns["HotPower"].Width = 85;
			this.dgvEquipmentInfo.Columns["StructType"].Visible = false;
			this.dgvEquipmentInfo.Columns["InstallType"].Visible = false;
			this.dgvEquipmentInfo.Columns["ConnectType"].Visible = false;
			this.dgvEquipmentInfo.Columns["Family"].Visible = false;
			this.dgvEquipmentInfo.Columns["FamilyId"].Visible = false;
			this.dgvEquipmentInfo.Columns["Image"].Visible = false;
			this.dgvEquipmentInfo.Refresh();
		}

		private void cmbStructureType_SelectedIndexChanged(object sender, EventArgs e)
		{
			string strFactory = "";
			string installTypeSelectText = "";
			string text = this.cmbStructureType.SelectedItem.ToString().Trim();
			string connectTypeSelectText = "";
			if (this.cmbFactory.SelectedItem != null)
			{
				strFactory = this.cmbFactory.SelectedItem.ToString().Trim();
			}
			if (this.cmbInstallType.SelectedItem != null)
			{
				installTypeSelectText = this.cmbInstallType.SelectedItem.ToString().Trim();
			}
			if (this.cmbConnectType.SelectedItem != null)
			{
				connectTypeSelectText = this.cmbConnectType.SelectedItem.ToString().Trim();
			}
			if (text != "")
			{
				this.SelectedChanged(strFactory, text, installTypeSelectText, connectTypeSelectText);
			}
		}

		private void cmbConnectType_SelectedIndexChanged(object sender, EventArgs e)
		{
			string strFactory = "";
			string text = "";
			string structTypeSelectText = "";
			string connectTypeSelectText = this.cmbConnectType.SelectedItem.ToString().Trim();
			if (this.cmbFactory.SelectedItem != null)
			{
				strFactory = this.cmbFactory.SelectedItem.ToString().ToString();
			}
			if (this.cmbStructureType.SelectedItem != null)
			{
				structTypeSelectText = this.cmbStructureType.SelectedItem.ToString().Trim();
			}
			if (this.cmbInstallType.SelectedItem != null)
			{
				text = this.cmbInstallType.SelectedItem.ToString().Trim();
			}
			if (text != "")
			{
				this.SelectedChanged(strFactory, structTypeSelectText, text, connectTypeSelectText);
			}
		}

		private void SelectedChanged(string strFactory, string structTypeSelectText, string installTypeSelectText, string connectTypeSelectText)
		{
			this.equipmentCoilTrans.Clear();
			int num = 1;
			List<EquipmentCoilParameter> list = this.equipmentCoil;
			if (!string.IsNullOrEmpty(strFactory) && strFactory != "全部")
			{
				list = (from eCoil in list
				where eCoil.Factory == strFactory
				select eCoil).ToList<EquipmentCoilParameter>();
			}
			List<EquipmentCoilParameter> list2 = list;
			if (list2 != null && list2.Count > 0 && structTypeSelectText != "全部")
			{
				list2 = (from eCoil in list2
				where eCoil.StructType == structTypeSelectText
				select eCoil).ToList<EquipmentCoilParameter>();
			}
			List<EquipmentCoilParameter> list3 = list2;
			if (list3 != null && list3.Count > 0 && installTypeSelectText != "全部")
			{
				list3 = (from eCoil in list3
				where eCoil.InstallType == installTypeSelectText
				select eCoil).ToList<EquipmentCoilParameter>();
			}
			List<EquipmentCoilParameter> list4 = list3;
			if (list4 != null && list4.Count > 0 && connectTypeSelectText != "全部")
			{
				list4 = (from eCoil in list4
				where eCoil.ConnectType == connectTypeSelectText
				select eCoil).ToList<EquipmentCoilParameter>();
			}
			if (list4 != null)
			{
				foreach (EquipmentCoilParameter equipmentCoilParameter in list4)
				{
					equipmentCoilParameter.Id = " " + num.ToString();
					this.equipmentCoilTrans.Add(equipmentCoilParameter);
					num++;
				}
			}
			this.DataGridViewBand(this.equipmentCoilTrans);
		}

		private void dgvEquipmentInfo_SelectionChanged(object sender, EventArgs e)
		{
			try
			{
				if (this.dgvEquipmentInfo.SelectedRows != null && this.dgvEquipmentInfo.SelectedRows.Count > 0)
				{
					this.picBoxpreview.Image = Image.FromFile(this.dgvEquipmentInfo.SelectedRows[0].Cells["Image"].Value.ToString());
				}
				else
				{
					this.picBoxpreview.Image = null;
				}
			}
			catch
			{
				YJKMessageBox.Information("预览图片加载出现错误");
			}
		}

		private void dgvEquipmentInfo_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
		{
			if (e.RowIndex >= 0)
			{
				int id = Convert.ToInt32(this.dgvEquipmentInfo.Rows[e.RowIndex].Cells["FamilyId"].Value.ToString());
				this.ReadEquipmentCoilSetDetailParas(id, this.categoryName);
				DuctEquipmentCoilParametersForm ductEquipmentCoilParametersForm = new DuctEquipmentCoilParametersForm(this.equipmentCoilSetDetailParas);
				ductEquipmentCoilParametersForm.ShowDialog();
				if (ductEquipmentCoilParametersForm.IsChangePara)
				{
					this.equipmentCoilSetDetailParas = ductEquipmentCoilParametersForm.equipmentCoilSetDetailParas;
					this.ChangeDisPlayParas(this.dgvEquipmentInfo.Rows[e.RowIndex].Cells["Id"].Value.ToString(), e.RowIndex);
					this.WriteEquipmentCoilPara(id);
				}
			}
		}

		private void ChangeDisPlayParas(string id, int rowIndex)
		{
			this.dgvEquipmentInfo.Rows[rowIndex].Cells["Name"].Value = this.equipmentCoilSetDetailParas.Name;
			this.dgvEquipmentInfo.Rows[rowIndex].Cells["HotPower"].Value = this.equipmentCoilSetDetailParas.HotPower;
			this.dgvEquipmentInfo.Rows[rowIndex].Cells["CoolPower"].Value = this.equipmentCoilSetDetailParas.CoolPower;
			this.dgvEquipmentInfo.Rows[rowIndex].Cells["Flow"].Value = this.equipmentCoilSetDetailParas.Wind;
			foreach (EquipmentCoilParameter equipmentCoilParameter in this.equipmentCoil)
			{
				if (equipmentCoilParameter.Id == id)
				{
					equipmentCoilParameter.Name = this.equipmentCoilSetDetailParas.Name;
					equipmentCoilParameter.HotPower = this.equipmentCoilSetDetailParas.HotPower.ToString();
					equipmentCoilParameter.CoolPower = this.equipmentCoilSetDetailParas.CoolPower.ToString();
					equipmentCoilParameter.Flow = this.equipmentCoilSetDetailParas.Wind.ToString();
					break;
				}
			}
		}

		private void GetFamilyTypeParameter(int id)
		{
			new List<ListItem>();
			List<ListItem> infoById = this.sfdr.GetInfoById(this.categoryName, id);
			this.hyPropertys = new HYPropertys();
			HYProperty[] array = new HYProperty[infoById.Count];
			int num = 0;
			foreach (ListItem listItem in infoById)
			{
				array[num] = new HYProperty();
				if (listItem != null && listItem.Name != null && listItem.Value != null)
				{
					array[num].Name = listItem.Name;
					array[num].Description = listItem.Name;
					array[num].Value = listItem.Value;
					array[num].Category = "参数";
					this.hyPropertys.Add(array[num]);
					num++;
				}
			}
		}

		private void btnOk_Click(object sender, EventArgs e)
		{
			if (e != null)
			{
				this.layType = 0;
			}
			this.UserSettingWrite();
			if (this.dgvEquipmentInfo.SelectedRows != null && this.dgvEquipmentInfo.SelectedRows.Count > 0)
			{
				int id = Convert.ToInt32(this.dgvEquipmentInfo.SelectedRows[0].Cells["FamilyId"].Value.ToString());
				this.dgvEquipmentInfo.SelectedRows[0].Cells["Family"].Value.ToString().Trim();
				this.FamilyLoad(id, this.categoryName);
				this.ReadEquipmentCoilParam();
				this.ReadEquipmentCoilSetDetailParas(id, this.categoryName);
				this.ReadFanCoiFamilyParams(id);
				try
				{
					if (5 == this.isOnFace)
					{
						if (this.layType != 0 && RevitVersion.Version != "2012")
						{
							MessageBox.Show("基于面设备的批量布置，只支持RevitMEP 2012版本", "盈建科提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
						}
						else
						{
							SelectPlaneForm selectPlaneForm = new SelectPlaneForm(this.layType, this.hyTbOffSet.Text, this.doc);
							DialogResult dialogResult = selectPlaneForm.ShowDialog();
							if (DialogResult.OK == dialogResult)
							{
								this.planeParameter = selectPlaneForm.planeParam;
							}
							base.DialogResult = dialogResult;
						}
					}
					else
					{
						base.DialogResult = DialogResult.OK;
					}
					return;
				}
				catch (Exception ex)
				{
					MessageBox.Show(ex.Message, "盈建科提示", MessageBoxButtons.OK, MessageBoxIcon.Hand);
					return;
				}
			}
			MessageBox.Show("请选择所要布置的设备", "盈建科提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
		}

		private void InitLayType()
		{
		}

		private void FamilyLoad(int id, string typeName)
		{
			try
			{
				this.fs = this.sfdr.GetFamilySymbolById(id, this.doc, BuiltInCategory.OST_MechanicalEquipment);
				if (this.fs == null)
				{
					throw new Exception("加载族失败");
				}
			}
			catch (Exception)
			{
				MessageBox.Show("读取族库失败", "盈建科提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
			}
		}

		private void ReadEquipmentCoilParam()
		{
			this.equipmentCoilPara = new EquipmentCoilParam();
			int selectedIndex = this.tabControl1.SelectedIndex;
			if (selectedIndex != 0)
			{
				if (selectedIndex == 1)
				{
					this.equipmentCoilPara.OffSet = Convert.ToDouble(this.txtOffSet.Text.Trim());
				}
			}
			else
			{
				this.equipmentCoilPara.OffSet = Convert.ToDouble(this.hyTbOffSet.Text.Trim());
			}
			this.equipmentCoilPara.Tag = false;
		}

		private void ReadEquipmentCoilSetDetailParas(int Id, string categoryName)
		{
			List<ListItem> infoById = this.sfdr.GetInfoById(Id);
			if (this.equipmentCoilSetDetailParas == null)
			{
				this.equipmentCoilSetDetailParas = new EquipmentCoilSetDetailParas();
			}
			foreach (ListItem listItem in infoById)
			{
				if (listItem.Value == "")
				{
					listItem.Value = "0";
				}
				string name = listItem.Name;
				uint num = YArchitech.Revit.PrivateImplementationDetails.ComputeStringHash(name);
				if (num <= 1494001562u)
				{
					if (num <= 236024329u)
					{
						if (num <= 205040760u)
						{
							if (num != 106886956u)
							{
								if (num == 205040760u)
								{
									if (name == "WaterFlow")
									{
										this.equipmentCoilSetDetailParas.Water = double.Parse(listItem.Value.Trim());
									}
								}
							}
							else if (name == "PipeOutDiameter")
							{
								this.equipmentCoilSetDetailParas.PipeOutDim = double.Parse(listItem.Value.Trim());
							}
						}
						else if (num != 232348449u)
						{
							if (num == 236024329u)
							{
								if (name == "PipeColdWaterDiameter")
								{
									this.equipmentCoilSetDetailParas.PipeCoolDim = double.Parse(listItem.Value.Trim());
								}
							}
						}
						else if (name == "DuctReturnWidth")
						{
							this.equipmentCoilSetDetailParas.DuctReturnWidth = double.Parse(listItem.Value.Trim());
						}
					}
					else if (num <= 414214163u)
					{
						if (num != 266367750u)
						{
							if (num == 414214163u)
							{
								if (name == "AirFlow")
								{
									this.equipmentCoilSetDetailParas.Wind = double.Parse(listItem.Value.Trim());
								}
							}
						}
						else if (name == "Name")
						{
							this.equipmentCoilSetDetailParas.Name = listItem.Value.Trim();
						}
					}
					else if (num != 679830512u)
					{
						if (num != 889012726u)
						{
							if (num == 1494001562u)
							{
								if (!(name == "Image"))
								{
								}
							}
						}
						else if (name == "CoidWidth")
						{
							this.equipmentCoilSetDetailParas.Width = double.Parse(listItem.Value.Trim());
						}
					}
					else if (name == "DuctReturnHeight")
					{
						this.equipmentCoilSetDetailParas.DuctReturnHigh = double.Parse(listItem.Value.Trim());
					}
				}
				else if (num <= 2565565614u)
				{
					if (num <= 2260492948u)
					{
						if (num != 2257934197u)
						{
							if (num == 2260492948u)
							{
								if (name == "CoolFlow")
								{
									this.equipmentCoilSetDetailParas.CoolPower = double.Parse(listItem.Value.Trim());
								}
							}
						}
						else if (name == "DuctSupplyHeight")
						{
							this.equipmentCoilSetDetailParas.DuctSupplyHigh = double.Parse(listItem.Value.Trim());
						}
					}
					else if (num != 2439411060u)
					{
						if (num == 2565565614u)
						{
							if (name == "CoidLength")
							{
								this.equipmentCoilSetDetailParas.Length = double.Parse(listItem.Value.Trim());
							}
						}
					}
					else if (!(name == "Image2D"))
					{
					}
				}
				else if (num <= 3249990298u)
				{
					if (num != 2952233644u)
					{
						if (num == 3249990298u)
						{
							if (name == "DuctSupplyWidth")
							{
								this.equipmentCoilSetDetailParas.DuctSupplyWidth = double.Parse(listItem.Value.Trim());
							}
						}
					}
					else if (name == "HotFlow")
					{
						this.equipmentCoilSetDetailParas.HotPower = double.Parse(listItem.Value.Trim());
					}
				}
				else if (num != 3295645513u)
				{
					if (num != 4032008201u)
					{
						if (num == 4194422953u)
						{
							if (name == "PipeInDiameter")
							{
								this.equipmentCoilSetDetailParas.PipeInDim = double.Parse(listItem.Value.Trim());
							}
						}
					}
					else if (name == "CoidHeight")
					{
						this.equipmentCoilSetDetailParas.High = double.Parse(listItem.Value.Trim());
					}
				}
				else if (!(name == "Family"))
				{
				}
			}
		}

		private void ReadFanCoiFamilyParams(int id)
		{
			this.eCoilParam = this.ecpInfoList.FirstOrDefault((EquipmentCoilParameter p) => p.FamilyId == id.ToString());
			if (this.eCoilParam == null)
			{
				this.eCoilParam = new EquipmentCoilParameter();
			}
		}

		private void WriteEquipmentCoilPara(int Id)
		{
			List<ListItem> list = new List<ListItem>();
			list.Add(new ListItem("Name", this.equipmentCoilSetDetailParas.Name));
			list.Add(new ListItem("CoidLength", this.equipmentCoilSetDetailParas.Length.ToString()));
			list.Add(new ListItem("CoidWidth", this.equipmentCoilSetDetailParas.Width.ToString()));
			list.Add(new ListItem("CoidHeight", this.equipmentCoilSetDetailParas.High.ToString()));
			list.Add(new ListItem("CoolFlow", this.equipmentCoilSetDetailParas.CoolPower.ToString()));
			list.Add(new ListItem("HotFlow", this.equipmentCoilSetDetailParas.HotPower.ToString()));
			list.Add(new ListItem("AirFlow", this.equipmentCoilSetDetailParas.Wind.ToString()));
			list.Add(new ListItem("WaterFlow", this.equipmentCoilSetDetailParas.Water.ToString()));
			list.Add(new ListItem("PipeInDiameter", this.equipmentCoilSetDetailParas.PipeInDim.ToString()));
			list.Add(new ListItem("PipeOutDiameter", this.equipmentCoilSetDetailParas.PipeOutDim.ToString()));
			list.Add(new ListItem("PipeColdWaterDiameter", this.equipmentCoilSetDetailParas.PipeCoolDim.ToString()));
			list.Add(new ListItem("DuctSupplyWidth", this.equipmentCoilSetDetailParas.DuctSupplyWidth.ToString()));
			list.Add(new ListItem("DuctSupplyHeight", this.equipmentCoilSetDetailParas.DuctSupplyHigh.ToString()));
			list.Add(new ListItem("DuctReturnWidth", this.equipmentCoilSetDetailParas.DuctReturnWidth.ToString()));
			list.Add(new ListItem("DuctReturnHeight", this.equipmentCoilSetDetailParas.DuctReturnHigh.ToString()));
			if (!this.sfdr.SetInfoById(Id, list))
			{
				YJKMessageBox.Information("保存数据失败");
			}
		}

		private void dgvEquipmentInfo_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
		{
		}

		private void dgvEquipmentInfo_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
		{
			this.toolTip1.Show("双击查看设备的详细参数", this.dgvEquipmentInfo);
		}

		private void dgvEquipmentInfo_CellMouseLeave(object sender, DataGridViewCellEventArgs e)
		{
			this.toolTip1.Hide(this.dgvEquipmentInfo);
		}

		private void DuctEquipmentCoilForms_Load(object sender, EventArgs e)
		{
			this.beLoad = false;
		}

		private void tsbLayPoint_Click(object sender, EventArgs e)
		{
		}

		private void tsbLayLine_Click(object sender, EventArgs e)
		{
			LayAirTerminalLineForm layAirTerminalLineForm = new LayAirTerminalLineForm(this.userSetting, "风盘");
			layAirTerminalLineForm.ShowDialog();
			this.layLineParam = layAirTerminalLineForm.layLineParameter;
		}

		private void tsbLayRect_Click(object sender, EventArgs e)
		{
			LayAirTerminalAreaForm layAirTerminalAreaForm = new LayAirTerminalAreaForm(this.userSetting, "风盘");
			layAirTerminalAreaForm.ShowDialog();
			this.layAreaParam = layAirTerminalAreaForm.layAreaParameter;
		}

		private void tsbLayMid_Click(object sender, EventArgs e)
		{
			LayAirTerminalMidForm layAirTerminalMidForm = new LayAirTerminalMidForm(this.userSetting, "风盘");
			layAirTerminalMidForm.ShowDialog();
			this.layMidParam = layAirTerminalMidForm.layMidParameter;
		}

		private void tsLayButton_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
		{
		}

		private void btnLayRect_Click(object sender, EventArgs e)
		{
			this.layType = 3;
			LayAirTerminalAreaForm layAirTerminalAreaForm = new LayAirTerminalAreaForm(this.userSetting, "风盘");
			layAirTerminalAreaForm.ShowDialog();
			this.layAreaParam = layAirTerminalAreaForm.layAreaParameter;
			if (DialogResult.OK == layAirTerminalAreaForm.DialogResult)
			{
				this.RectLayParas = layAirTerminalAreaForm.rectLayParas;
				if (this.tabControl1.SelectedIndex == 0)
				{
					this.btnOk_Click(null, null);
					return;
				}
				this.btnLaySingle_Click(null, null);
			}
		}

		private void SetFamilyandImage()
		{
			foreach (EquipmentCoilParameter equipmentCoilParameter in this.equipmentCoil)
			{
				equipmentCoilParameter.Family = this.GetFamilyandImageName(equipmentCoilParameter.StructType, equipmentCoilParameter.InstallType, equipmentCoilParameter.ConnectType) + ".rfa";
				equipmentCoilParameter.Image = this.GetFamilyandImageName(equipmentCoilParameter.StructType, equipmentCoilParameter.InstallType, equipmentCoilParameter.ConnectType) + ".bmp";
				List<ListItem> list = new List<ListItem>();
				list.Add(new ListItem("Family", equipmentCoilParameter.Family));
				list.Add(new ListItem("Image", equipmentCoilParameter.Image));
				if (!this.sfdr.SetInfoById(this.categoryName, int.Parse(equipmentCoilParameter.FamilyId), list))
				{
					YJKMessageBox.Information("保存数据失败");
				}
			}
		}

		private string GetFamilyandImageName(string structType, string installType, string connectType)
		{
			string result = "";
			if (!(structType == "吸顶式"))
			{
				if (!(structType == "立式"))
				{
					if (structType == "卧式")
					{
						if (installType == "明装")
						{
							if (connectType == "左接")
							{
								result = "卧式明装风机盘管_左接管";
							}
							else if (connectType == "右接")
							{
								result = "卧式明装风机盘管_右接管";
							}
						}
						else if (installType == "暗装")
						{
							if (connectType == "左接")
							{
								result = "卧式暗装风机盘管_左接管";
							}
							else if (connectType == "右接")
							{
								result = "卧式暗装风机盘管_右接管";
							}
						}
					}
				}
				else if (installType == "明装")
				{
					if (connectType == "左接")
					{
						result = "立式明装风机盘管_左接管";
					}
					else if (connectType == "右接")
					{
						result = "立式明装风机盘管_右接管";
					}
				}
				else if (installType == "暗装")
				{
					if (connectType == "左接")
					{
						result = "立式暗装风机盘管_左接管";
					}
					else if (connectType == "右接")
					{
						result = "立式暗装风机盘管_右接管";
					}
				}
			}
			else
			{
				result = "吸顶式风机盘管";
			}
			return result;
		}

		private void btnMore_Click(object sender, EventArgs e)
		{
			if (FamilyUtil.PathIni.ReadPath(this.doc.Application.VersionNumber) == "")
			{
				YJKMessageBox.Show("请先安装盈建科族立得。");
				return;
			}
			LayFamilyForm layFamilyForm = new LayFamilyForm(new HVACDataReader(this.doc).GetFamilyAllInfoTree("风机盘管"), this.doc, "EquipmentCoil");
			if (layFamilyForm.ShowDialog() == DialogResult.OK)
			{
				this.fs = layFamilyForm.fs;
				this.IsDbFamily = true;
				this.layType = layFamilyForm.layType;
				this.layAreaParam = layFamilyForm.layAreaParam;
				if (this.equipmentCoilPara == null)
				{
					this.equipmentCoilPara = new EquipmentCoilParam();
				}
				this.equipmentCoilPara.OffSet = layFamilyForm.OffSet;
				this.RectLayParas = layFamilyForm.rectLays;
				base.DialogResult = DialogResult.OK;
				return;
			}
		}

		private void InitialCurrentProject()
		{
			this.InitialCurrentProjectData();
			this.InitialTreeView();
		}

		private void InitialCurrentProjectData()
		{
			this.txtAirVolume.Text = "";
			this.txtCoolPower.Text = "";
			this.txtHeatPower.Text = "";
		}

		private void InitialTreeView()
		{
			this.tvwCurrentProject.Nodes.Clear();
			BuiltInCategory builtInCategory = BuiltInCategory.OST_MechanicalEquipment;
			this.GetAllFamily(builtInCategory);
			this.tvwCurrentProject.Nodes.Add("机械设备");
			HyProjectFamily.BingTvwFamilys((from item in HyProjectFamily.GetFamilys((Autodesk.Revit.DB.BuiltInCategory)(-2001140), this.doc)
			where item.Name.Contains("风机盘管") || item.Name.Contains("FP") || item.Name.Contains("FCU")
			select item).ToList<Family>(), this.tvwCurrentProject);
		}

		private void loadDataToTreeView(List<Family> collection, TreeNode nodes)
		{
			foreach (Family family in collection)
			{
				TreeNode treeNode = nodes.Nodes.Add(family.Id.ToString(), family.Name.ToString());
				foreach (Element element in this.GetFamilySymbol(family))
				{
					treeNode.Nodes.Add(element.Id.ToString(), element.Name.ToString());
				}
			}
		}

		private IList<Element> GetFamilySymbol(Family elem)
		{
			FilteredElementCollector filteredElementCollector = new FilteredElementCollector(this.doc);
			FamilySymbolFilter familySymbolFilter = new FamilySymbolFilter(elem.Id);
			return filteredElementCollector.WherePasses(familySymbolFilter).ToElements();
		}

		private List<Family> GetAllFamily(BuiltInCategory builtInCategory)
		{
			IEnumerable<Element> enumerable = new FilteredElementCollector(this.doc).OfClass(typeof(Family)).ToElements();
			List<Family> list = new List<Family>();
			foreach (Element element in enumerable)
			{
				Family family = (Family)element;
				if (family.FamilyCategory.Id.IntegerValue == -2001140 && (family.Name.Contains("风机盘管") || family.Name.Contains("FP") || family.Name.Contains("FCU")))
				{
					list.Add(family);
				}
			}
			return list;
		}

		private void btnLaySingle_Click(object sender, EventArgs e)
		{
			this.hongYe = false;
			if (e != null)
			{
				this.layType = 0;
			}
			this.UserSettingWrite();
			if (this.tvwCurrentProject.SelectedNode != null)
			{
				if (this.tvwCurrentProject.SelectedNode.Level == 1)
				{
					this.fs = (this.tvwCurrentProject.SelectedNode.Nodes[0].Tag as FamilySymbol);
				}
				else if (this.tvwCurrentProject.SelectedNode.Level == 2)
				{
					this.fs = (this.tvwCurrentProject.SelectedNode.Tag as FamilySymbol);
				}
				this.ReadEquipmentCoilParam();
				this.ReadEquipmentCoilCurrentSetDetailParas();
				try
				{
					if (5 == this.isOnFace)
					{
						if (this.layType != 0 && RevitVersion.Version != "2012")
						{
							MessageBox.Show("基于面设备的批量布置，只支持RevitMEP 2012版本", "盈建科提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
						}
						else
						{
							SelectPlaneForm selectPlaneForm = new SelectPlaneForm(this.layType, this.txtOffSet.Text, this.doc);
							DialogResult dialogResult = selectPlaneForm.ShowDialog();
							if (DialogResult.OK == dialogResult)
							{
								this.planeParameter = selectPlaneForm.planeParam;
							}
							base.DialogResult = dialogResult;
						}
					}
					else
					{
						base.DialogResult = DialogResult.OK;
					}
					return;
				}
				catch (Exception ex)
				{
					MessageBox.Show(ex.Message, "盈建科提示", MessageBoxButtons.OK, MessageBoxIcon.Hand);
					return;
				}
			}
			MessageBox.Show("请选择所要布置的设备", "盈建科提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
		}

		private void ReadEquipmentCoilCurrentSetDetailParas()
		{
			if (this.equipmentCoilSetDetailParas == null)
			{
				this.equipmentCoilSetDetailParas = new EquipmentCoilSetDetailParas();
			}
			if (string.IsNullOrEmpty(this.txtCoolPower.Text))
			{
				this.equipmentCoilSetDetailParas.CoolPower = 0.0;
			}
			else
			{
				this.equipmentCoilSetDetailParas.CoolPower = this.txtCoolPower.Text.ToDouble(0.0);
			}
			if (string.IsNullOrEmpty(this.txtHeatPower.Text))
			{
				this.equipmentCoilSetDetailParas.HotPower = 0.0;
			}
			else
			{
				this.equipmentCoilSetDetailParas.HotPower = this.txtHeatPower.Text.ToDouble(0.0);
			}
			if (string.IsNullOrEmpty(this.txtAirVolume.Text))
			{
				this.equipmentCoilSetDetailParas.Wind = 0.0;
				return;
			}
			this.equipmentCoilSetDetailParas.Wind = this.txtAirVolume.Text.ToDouble(0.0);
		}

		private void tvwCurrentProject_AfterSelect(object sender, TreeViewEventArgs e)
		{
			if (this.tvwCurrentProject.SelectedNode == null)
			{
				return;
			}
			this.tvwCurrentProject.SelectedNode.BackColor = System.Drawing.Color.DodgerBlue;
			this.tvwCurrentProject.SelectedNode.ForeColor = System.Drawing.Color.White;
			Element element = this.tvwCurrentProject.SelectedNode.Tag as Element;
			if (this.tvwCurrentProject.SelectedNode.Level == 0)
			{
				this.picBoxView.Image = null;
			}
			else
			{
				Family family = null;
				if (this.tvwCurrentProject.SelectedNode.Level == 1)
				{
					family = (this.tvwCurrentProject.SelectedNode.Tag as Family);
				}
				else if (this.tvwCurrentProject.SelectedNode.Level == 2)
				{
					family = (this.tvwCurrentProject.SelectedNode.Parent.Tag as Family);
				}
				if (family == null)
				{
					YJKMessageBox.Show("您未选择风机盘管族或族类型");
					return;
				}
				string text;
				if (File.Exists(Path.Combine(Product.FamilyImageLocation, "EquipmentCoil", family.Name + ".bmp")))
				{
					text = Path.Combine(Product.FamilyImageLocation, "EquipmentCoil", family.Name + ".bmp");
				}
				else
				{
					text = HyProjectFamily.GetImageByFamily(family, "EquipmentCoil", this.doc);
				}
				if (File.Exists(text))
				{
					this.picBoxView.Image = Image.FromFile(text);
				}
				else
				{
					this.picBoxView.Image = null;
				}
			}
			if (element is FamilySymbol)
			{
				try
				{
					FamilySymbol familySymbol = element as FamilySymbol;
					FamilyManager familyManager = this.doc.EditFamily(familySymbol.Family).FamilyManager;
					FamilyParameter familyParameter = familyManager.get_Parameter("风量");
					string text2 = familyManager.get_Parameter("风量").ToString();
					if (!string.IsNullOrEmpty(text2))
					{
						this.txtAirVolume.Text = (text2.Substring(0, text2.Length - 3).ToDouble(0.0) * 3600.0 / 1000.0).ToString();
					}
					else
					{
						this.txtAirVolume.Text = "";
					}
					string formula = familyManager.get_Parameter("制冷量").Formula;
					if (!string.IsNullOrEmpty(formula))
					{
						this.txtCoolPower.Text = formula.Substring(0, formula.Length - 1).ToString();
					}
					else
					{
						this.txtCoolPower.Text = "";
					}
					string formula2 = familyManager.get_Parameter("制热量").Formula;
					if (!string.IsNullOrEmpty(formula2))
					{
						this.txtHeatPower.Text = formula2.Substring(0, formula2.Length - 1).ToDouble(0.0).ToString();
					}
					else
					{
						this.txtHeatPower.Text = "";
					}
					return;
				}
				catch (Exception ex)
				{
					ex.ToString();
					return;
				}
			}
			this.InitialCurrentProjectData();
		}

		private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
		{
			if (string.IsNullOrEmpty(this.hyTbOffSet.Text) || string.IsNullOrEmpty(this.txtOffSet.Text))
			{
				e.Cancel = true;
			}
		}

		private void btnQuit_Click(object sender, EventArgs e)
		{
			base.DialogResult = DialogResult.Cancel;
		}

		private void tvwCurrentProject_BeforeSelect(object sender, TreeViewCancelEventArgs e)
		{
			if (this.tvwCurrentProject.SelectedNode != null)
			{
				this.tvwCurrentProject.SelectedNode.BackColor = System.Drawing.Color.White;
				this.tvwCurrentProject.SelectedNode.ForeColor = System.Drawing.Color.Black;
			}
		}

		private void cmbFactory_SelectedIndexChanged(object sender, EventArgs e)
		{
			string text = this.cmbFactory.SelectedItem.ToString().Trim();
			string text2 = "";
			string text3 = "";
			string text4 = "";
			if (this.cmbStructureType.SelectedItem != null)
			{
				text3 = this.cmbStructureType.SelectedItem.ToString().Trim();
			}
			if (this.cmbInstallType.SelectedItem != null)
			{
				text2 = this.cmbInstallType.SelectedItem.ToString().Trim();
			}
			if (this.cmbConnectType.SelectedItem != null)
			{
				text4 = this.cmbConnectType.SelectedItem.ToString().Trim();
			}
			if (this.beLoad)
			{
				return;
			}
			this.BindingFactoryComoboxSource(text, text3, text2, text4);
			if (text != "")
			{
				if (this.cmbStructureType.SelectedItem != null)
				{
					text3 = this.cmbStructureType.SelectedItem.ToString().Trim();
				}
				if (this.cmbInstallType.SelectedItem != null)
				{
					text2 = this.cmbInstallType.SelectedItem.ToString().Trim();
				}
				if (this.cmbConnectType.SelectedItem != null)
				{
					text4 = this.cmbConnectType.SelectedItem.ToString().Trim();
				}
				this.SelectedChanged(text, text3, text2, text4);
			}
		}

		private void txtAirVolume_TextChanged(object sender, EventArgs e)
		{
		}

		private void DuctEquipmentCoilForms_FormClosing(object sender, FormClosingEventArgs e)
		{
			this.UserSettingWrite();
		}

		private List<TreeNode> allNodes = new List<TreeNode>();

		public int isOnFace;

		public LayAreaParameter layAreaParam;

		public LayLineParameter layLineParam;

		public LayMidParameter layMidParam;

		public EquipmentCoilSetDetailParas equipmentCoilSetDetailParas;

		public int layType;

		public ListItemPlane planeParameter;

		private Document doc;

		public FamilySymbol fs;

		public EquipmentCoilParam equipmentCoilPara;

		private List<EquipmentCoilParameter> equipmentCoil = new List<EquipmentCoilParameter>();

		private List<EquipmentCoilParameter> equipmentCoilTrans = new List<EquipmentCoilParameter>();

		private HYPropertys hyPropertys;

		private string categoryName = "";

		private SpaceFamilyDataReader sfdr;

		private HVACUserSetting userSetting = new HVACUserSetting();

		public bool IsDbFamily;

		public bool hongYe = true;

		private bool beLoad;

		public EquipmentCoilParameter eCoilParam;

		private List<EquipmentCoilParameter> ecpInfoList;

		public RectLayParamers RectLayParas;
	}
}
